-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes #213 #214
Fixes #213 #214
Conversation
3ade180
to
36b24e0
Compare
other.optimise(); | ||
} | ||
|
||
private static void checkForMergeValidity(@Nonnull Policy p) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably turn this into an instance method now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done.
@@ -645,7 +656,7 @@ public void testUnionNone() { | |||
p = parse("frame-ancestors 'none' 'none'"); | |||
q = parse("frame-ancestors 'self'"); | |||
p.union(q); | |||
assertEquals("frame-ancestors 'self'", p.show()); | |||
assertEquals("", p.show()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this one was correct before.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would think so too, but frame-ancestors 'none' 'none'
contains invalid source-list thus invalidates the directive. Union merging empty policy with anything produces empty policy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
on the other hand, per https://w3c.github.io/webappsec-csp/#parse-serialized-policy step 7, invalid source-list produces an empty directive-value
, which brings us to recent discussion. WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh wow, you're right. This relies upon w3c/webappsec-csp#363, which intentionally doesn't use frame-ancestors 'none'
in a malformed policy. I'm fine with getting this in as-is, but we need to follow up with an implementation of w3c/webappsec-csp#363 and possibly further discussion about frame-ancestors
.
and tests commutativity